【遂に来た!】EBS でボリュームサイズを変更できるようになりました(ボリュームタイプ変更も)
こんにちは、藤本です。
待ちに待ったアップデートです。EBS のボリュームサイズ、ボリュームタイプを変更できるようになりました。
概要
今まで運用中に EBS のボリュームが足りなくなった場合、
一度スナップショットを作成して、
新規ボリューム作成して(この時にボリュームサイズ増加)、
ディスクを差し替える必要がありました。
これにより、インスタンスを停止する必要が発生したり、出来るだけダウンタイムを短くしたくてノーリブートでスナップショットを取ると整合性が担保されない、スナップショット取得から切り替えまでのデータの欠損が発生するなど、多くの問題がありました。
それが今回のアップデートにより、インスタンスの停止する必要がなく、データの欠損が発生することなく、ボリュームサイズを増加させることが可能となりました。
また同時にボリュームタイプを変更することも可能となりました。GP2、IO1、SC1、ST1 どれからどれへも変更することが可能となりました。
やってみた
今回は起動中の Amazon Linux で 5GB (GP2) の EBS を 10GB (IO1) に変更します。
# cat /etc/os-release NAME="Amazon Linux AMI" VERSION="2016.03" ID="amzn" ID_LIKE="rhel fedora" VERSION_ID="2016.03" PRETTY_NAME="Amazon Linux AMI 2016.03" ANSI_COLOR="0;33" CPE_NAME="cpe:/o:amazon:linux:2016.03:ga" HOME_URL="http://aws.amazon.com/amazon-linux-ami/" # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 5G 0 disk # df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.8G 1.4G 6.4G 18% / devtmpfs 236M 60K 236M 1% /dev tmpfs 246M 0 246M 0% /dev/shm /dev/xvdf 4.8G 10M 4.6G 1% /data
ボリュームサイズを拡張する
EBS の Actions に Modify Volume が追加されています。対象の EBS を選択し、Modify Volume を選択します。
Volume Type をプルダウンから変更でき、Size をテキストボックスで書き換えることが可能となっています。Volume Type をIO1
に選択すると、Iops もテキストボックスになり、書き換えることができるようになりました。
設定を変更し、Modify を選択します。
確認のポップアップが表示されます。注意書きに記載されていますが、変更時はパフォーマンスに影響があります。オンラインで実行できますが、ディスクI/Oが低い時間帯で実施しましょう。また、今までと同じで、ボリュームサイズ拡張後、OS 上のサイズ変更も忘れずに実施しましょう。 「Yes」をクリックし、ボリュームサイズ拡張が開始します。
State にパーセンテージで進捗状況が表示されます。0%、2%、3% で次見たら Complete だったので、完了時間を推測するのにはあまり当てにならないのかもしれません。
今回は実データ量が少ないせいか、4, 5分ほどで完了しました。早い!
動作確認
OS から確認します。
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 10G 0 disk /data
ディスクサイズが拡張した 10GB で認識されています!!
OS での拡張
続いて、忘れずに OS からファイルサイズを拡張しましょう。今回はパーティションを切り出していないディスクですので、ファイルシステムの拡張だけすれば問題ありません。パーティションを切り出している場合はこちらの手順でパーティションを拡張しましょう。
# resize2fs /dev/xvdf resize2fs 1.42.12 (29-Aug-2014) Filesystem at /dev/xvdf is mounted on /data; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 1 The filesystem on /dev/xvdf is now 2621440 (4k) blocks long. # df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 7.8G 1.4G 6.4G 18% / devtmpfs 236M 60K 236M 1% /dev tmpfs 246M 0 246M 0% /dev/shm /dev/xvdf 9.8G 1.1G 8.3G 11% /data
ファイルシステムのサイズも拡張されました!!
まとめ
遂に待ち望んでいた EBS のボリュームサイズ変更機能がリリースされました。VMware から仮想化に入った私としては何でないんだろう、と思っていたのですが、その分、ストレージ担当のチームがキャパシティプランニングに苦しんでいた覚えがあります。AWS の非常に大きなプラットフォームでどのように実現したか想像もつきませんが、嬉しい機能追加です!